微調是指在一個已經在海量通用數據上訓練好的基礎模型(Foundation Model)之上,使用少量、特定領域的數據集,進行額外的訓練,以調整模型的權重。微調讓通用的基礎模型在特定任務上更專業、更精確。
微調的核心目的,是讓模型從「大致知道」變成「精確做到」。主要原因有以下三點:
- 提高準確性和相關性 (Accuracy & Relevance):
基礎模型懂很多,泛化能力強,但在特定任務或領域上可能表現不佳。Fine-tune 可以讓模型學習到與目標任務相關的特定特徵,讓模型更懂你的任務。另外,基礎模型可能不知道您的私有數據、專有術語或公司政策。微調能將這些特定知識「灌輸」給模型,使其輸出在您的業務環境中更具相關性和權威性。
例如: 讓模型準確識別您的產品型號,而不是市場上的通用型號。
- 客製化輸出格式與風格 (Format Customization):
若輸出形式或多模態輸入與原模型不同(如加入地圖、影像、指令格式),微調可以將模型鎖定在特定的輸出格式上,極大地提高可靠性。
例如:或者保證回傳的數據一定是完全合規的 JSON 結構。
- 風格調整(Style Customization)
要求模型回覆用戶評論時,始終使用特定語氣,例如:可以讓模型符合品牌語氣(如客服語氣、學術語氣、兒童語氣)。
- 提高效率和降低成本 (Efficiency & Cost):
在許多情況下,微調後的小模型可以達到與提示工程 (Prompt Engineering) 後的大模型相似的性能,使用較小的、微調過的小模型不僅推理速度更快(低延遲),而且運算成本更低,特別適合需要高吞吐量的生產環境;且有時只需少量專業資料(數百~數千筆)即可顯著提升特定領域表現。
VLM 處理的是兩種模態(文本和視覺),這使其微調過程比純文本的 LLM 更加複雜。VLM 與LLM 都可以使用以下主要的微調策略:
- 全參數微調 (Full Fine-tuning):訓練整個模型的所有參數。適用場景為當目標任務數據量足夠大,且與預訓練數據差異較大時。優點是模型可以全面適應新任務,性能提升顯著;缺點是需較多資料與計算資源(GPU)。
- 參數高效微調 (PEFT,Parameter-Efficient Fine-tuning):這是目前的主流方法。可以使用 LoRA (Low-Rank Adaptation) 或 Adapter Tuning 等技術,這些方法在不改變原始模型權重的情況下添加少量可訓練參數,只訓練附加的一小部分參數,大幅減少計算資源和時間。
- 基於指令的微調 (Instruction Fine-tuning):受益於將訓練數據組織成「指令-輸入-輸出」的格式,以提高模型的指令遵循能力。
- RLHF/DPO (Reinforcement Learning from Human Feedback / Direct Preference Optimization):透過人類偏好或評分優化模型行為
VLM 的架構通常幾個主要部分:視覺編碼器 (Vision Encoder)、語言解碼器 (Language Decoder/Backbone)及連接器,這在微調時帶來了獨特的挑戰和選擇:
- 模態特定處理
- 視覺編碼器:將圖像轉換為模型可以理解的視覺 Token。在微調 VLM 時,通常凍結此模塊(不訓練),以保留其強大的通用視覺理解能力,只訓練連接器或語言模塊。
- 連接器 (Connector):這是連接視覺 Token 和語言模型(LLM Backbone)的橋樑。在 VLM 微調中,常常只訓練這個連接器,讓它學習如何將視覺信息有效地「翻譯」給 LLM。
- 語言模型主幹:負責文本的理解和生成。在 VLM 中,通常可以選擇凍結或使用 LoRA 等方法對其進行微調。
- 資料對齊複雜性
VLM 的訓練數據需要圖像與文本的精確對齊(Grounding)。例如,一個訓練樣本可能需要標註「這隻貓在椅子上」,模型必須學會將「貓」這個詞與圖像中貓的位置準確對應起來。
- 多模態 PEFT 的應用
在 VLM 中應用 PEFT 時,更具體的做法是視覺 LoRA (Visual LoRA)。雖然主體語言模型可以使用 LoRA,但一些先進方法也會在視覺編碼器或連接器上應用 LoRA,使其在特定視覺任務(如醫學影像分析)上表現更好,同時保持高效。